// 将指定二进制位设置为1，其余为0
// n | (1 << i)
// leetcode 476. 数字的补数
#include <iostream>
using namespace std;

int findComplement(int num) {
    int ret = 0;
    int i = 0;
    while(num)
    {
        // 获取最后一位
        int t = num & 1;
        if(t == 0)
        {
            // 将第i位设置为1
            ret |= (1 << i);
        }
        num >>= 1;
        i++;
    }
    return ret;
}

int main()
{
    int num = 5;
    int res = findComplement(num);
    cout << res << endl;
    return 0;
}